package com.ruoyi.reserve.service.impl;


import com.ruoyi.reserve.domain.CheckGroup;
import com.ruoyi.reserve.domain.Setmeal;
import com.ruoyi.reserve.domain.SetmealCheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ISetmealService {


    /**
     * 查询检查项数据集合
     *
     * @return 检查项数据集合
     */
    public List<Setmeal> selectSetmealList(Setmeal setmeal);


    /**
     * 批量删除检查项信息
     *
     * @param itemsId 需要删除的检查项ID
     * @return 结果
     */
    public int deleteSetmeal(Integer[] itemsId);


    /**
     * 新增信息
     *
     * @param setmeal 检查项信息
     * @return 结果
     */
    public int insertSetmeal(Setmeal setmeal);


    /**
     * 根据id获取该检查项的详情
     */
    public Setmeal getInfo(Integer id);

    /**
     * 更新信息
     *
     * @param setmeal 更新信息
     * @return 结果
     */
    public int updateSetmeal(Setmeal setmeal);


    /**
     * 新增时 根据编号查询检查项是否存在
     */
    public Setmeal getInfoByCode(String code);

    /**
     * 新增时 根据名称查询检查项是否存在
     */
    public Setmeal getInfoByName(String mealName);

    // 通过套餐id删除其中的检查组
    public int deleteGroupSetmealByIds(@Param("setmeal") Integer setmeal, @Param("setmealCheckGroupList") List<SetmealCheckGroup> setmealCheckGroupList);

    // 获取可以被该套餐新增的检查组集合
    public List<CheckGroup> getAddSetmealList (Setmeal setmeal);

    // 新增检查组到套餐里去
    public int insertGroupSetmealByIds(@Param("setmealCheckGroupList") List<SetmealCheckGroup> setmealCheckGroupList);
}
